package com.cskaoyan.service;

import com.cskaoyan.bean.bo.GoodsInfoBo;
import com.cskaoyan.bean.entity.*;
import com.cskaoyan.bean.vo.*;


import java.util.List;


public interface GoodsService {

    //查看商品信息
    BasePageData query(String goodsId,String goodsSn,String name,BaseParam param);

    //回显类别和厂商信息
    CatAndBrandVo catAndBrand();

    //回显商品信息
    DetailVo detail(Integer id);

    //修改商品信息
    void update(GoodsInfoVo goodsInfoVo);

    //创建商品
    void create(GoodsInfoBo goodsInfoBo);

    //删除商品
    void delete(Goods goods);

    // 获取商品的类目和品牌信息
    CateAndBrandVo getCateAndBrand();


    // 小程序 获得商品详情
    WxGoodsDetailVo getWxDetail(Integer goodsId,Integer userId);

    // 根据商品id获取相同类目下的商品
    List<Goods> getRelated(Integer goodsId);

    // 获取所有商品的个数
    int getAllGoodsNum();

    // 获取所有新发布的商品
    List<Goods> getNewGoodsList();

    // 获取所有热卖的商品
    List<Goods> getHotGoodsList();

    // 获取小程序主页中的一级类目下的推荐商品
    List<WxHomeIndexFloorGoodsVo> getWxHomeIndexFloorGoods(List<Category> categoryList);

    // 根据最新浏览商品的id获取商品信息
    Goods selectDefaultKeyword(Integer goodsId);

    // 获取热门搜索关键商品列表
    List<Goods> getHotKeywordList(Goods defaultKeyword);
}
